The present invention relates to the field of network communications. More particularly, the present invention relates to supporting internet protocol (IP) subnets with network address translators.
As networks and the internet gain in popularity and users, the sheer number of devices coupled to various networks and to the internet have increased drastically. As a result, the vast number of different networks that communicate with each other but are under separate control and administration increases the difficulty of assigning each device a unique identifying address. One approach that effectively expands address capacity limitation is to provide address translation through a network address translator (NAT).
Typically a NAT facilitates the transmission of communications from one network to another network by performing an address translation for a device coupled thereto. In so doing, multiple devices effectively share a common address. That is, the NAT assigns an IP address to each of the devices coupled thereto. However, the addresses assigned by the NAT are not publicly-administered, routable, unique addresses. As a result, the are used only xe2x80x9cbehindxe2x80x9d the NAT and are not passed beyond the NAT.
FIG. 1 is an example of a prior art network 100. Network 100 comprises a first network (e.g. a LAN), a second network (e.g. a LAN), and PC 131 all coupled to each other via phone system 140. The first LAN comprises PC 111, PC 112, and PC 113, all of which are coupled to network address translator (NAT) 115. The second LAN comprises PC 121, PC 123, and server 122 all of which are coupled to NAT 125. NAT 115 and NAT 125 are coupled to phone system 140 and provide translation between addresses of the first and second networks.
Unfortunately, the use of conventional NATs is not without problems. For example, because NATs may utilize similar software, two separate NATs may assign the same IP address to device coupled thereto. As an example, NAT 115 of Prior Art FIG. 1, may, for example, assign PC 111 an IP address of 192.168.1.2, assign PC 112 an IP address of 192.168.1.3, and assign PC 113 an IP address of 192.168.1.4. Similarly, NAT 125 of Prior Art FIG. 1, may, for example, assign PC 121 an IP address of 192.168.1.2, assign PC 123 an IP address of 192.168.1.3, and assign server 122 an IP address of 192.168.1.4. Because NATs 115 and 125 utilize similar address assigning schemes PC 111 and PC 121 now have the same address assigned thereto by their respective NAT. Likewise, PC 112 and PC 123 have the same address assigned thereto by their respective NAT, and PC 113 and server 122 now have the same address assigned thereto by their respective NAT. As a result, address conflicts may arise when, for example, PC 121 wishes to send data to PC 111. Because PC 121 and PC 111 share the same address, a subnet address conflict arises and the data cannot be appropriately handled. Similarly, PC 121 may wish to send data to PC 112. Because PC 112 and PC 123 have the same address, the data intended for PC 112 is instead handled as though it was intended for PC 123.
In one attempt to overcome such subnet address conflicts, prior art approaches require a user to examine all of the NAT-assigned IP addresses for each of the various NATs. The user must make sure that each device coupled to a NAT has a unique address assigned thereto. This process is usually relatively complicated and tedious. In many instances, the user is required to understand the intricacies of communication frame protocols and construct complicated and extensive tables that map types of communication frames to NAT ports and uniquely defined IP addresses. Furthermore, a solution to the above-listed problems should be compatible with existing NAT systems and designs.
Thus, a need exists for a network address translator system and method which is able to resolve NAT-based subnet address conflicts. Still another need exists for a network address translator system and method which meets the above need and which eliminates the need for tedious user examination of all NAT-assigned IP addresses for each of the various NATs. Yet another need exists for a network address translator system and method which meets the above-listed needs and which is compatible with existing network address translator devices.
The present invention provides a network address translator system and method which is able to resolve NAT-based subnet address conflicts. The present invention further provides a network address translator system and method which accomplishes the above achievement and which eliminates the need for tedious user examination of all NAT-assigned IP addresses for each of the various NATs. The present invention also provides a network address translator system and method which accomplishes the above-listed achievements and which is compatible with existing network address translator devices.
In one embodiment of the present invention, a first NAT is used to assign an address to a first device which is coupled to the first NAT. Next, the present embodiment using a second NAT to assign an address to a second device coupled to the second NAT. Additionally, in the present embodiment, the second NAT automatically assigns an address to a link coupling the first NAT and the second NAT. The second NAT then assigns a second address to the second device. The second address is related to the address of the link coupling the first NAT and the second NAT. In so doing, the present invention insures that the second device has a second address associated therewith wherein the second address is different from the address of the first device. As a result, the present embodiment is able to resolve NAT-based subnet address conflicts. The present embodiment also eliminates the need for tedious user examination of all NAT-assigned IP addresses for each of the various NATs. Furthermore, the present embodiment is compatible with existing network address translator devices.
These and other objects and advantages of the present invention will no doubt become obvious to those of ordinary skill in the art after having read the following detailed description of the preferred embodiments which are illustrated in the various drawing figures.